Human Interface Guidelines

您所在的位置:网站首页 imaginary space苹果下载 Human Interface Guidelines

Human Interface Guidelines

2023-03-14 23:46| 来源: 网络整理| 查看: 265

Augmented reality 增强现实

Augmented reality (or AR) lets you deliver immersive, engaging experiences that seamlessly blend virtual objects with the real world.

增强现实(或 AR)可让您提供身临其境、引人入胜的体验,将虚拟对象与现实世界无缝融合。

Using the device's camera to present the physical world onscreen live, your app superimposes three-dimensional virtual objects, creating the illusion that these objects actually exist. Depending on the experiences your app offers, people can reorient the device to explore the objects from different angles, interact with objects using gestures and movement, and even join other people in multiuser AR experiences. For developer guidance, see ARKit.

使用设备的摄像头在屏幕上实时呈现物理世界,您的应用会叠加三维虚拟对象,营造出这些对象实际存在的错觉。根据您的应用程序提供的体验,人们可以重新定位设备以从不同角度探索对象,使用手势和移动与对象交互,甚至与其他人一起参与多用户 AR 体验。有关开发人员指南,请参阅 ARKit 。

Offer AR features only on capable devices. If your app's primary purpose is AR, make your app available only to devices that support ARKit. If your app includes features that require specific AR capabilities, or if AR features are optional in your app, don’t show people an error if they try to use these features on a device that doesn’t support them; instead, simply avoid offering the feature on an unsupported device. For developer guidance, see Verifying device support and user permission.

仅在支持的设备上提供 AR 功能。如果您的应用的主要用途是增强现实,请让您的应用仅供支持 ARKit 的设备使用。如果您的应用程序包含需要特定 AR 功能的功能,或者如果 AR 功能在您的应用程序中是可选的,请不要在用户尝试在不支持这些功能的设备上使用这些功能时向他们显示错误;相反,只需避免在不受支持的设备上提供该功能。有关开发人员指南,请参阅验证设备支持和用户权限。

Creating an engaging, comfortable experience 创造引人入胜的舒适体验

Let people use the entire display. Devote as much of the screen as possible to displaying the physical world and your app's virtual objects. Avoid cluttering the screen with controls and information that diminish the immersive experience.

让人们使用整个显示器。将尽可能多的屏幕用于显示物理世界和应用程序的虚拟对象。避免在屏幕上堆满会削弱沉浸式体验的控件和信息。

Strive for convincing illusions when placing realistic objects. Design detailed 3D assets with lifelike textures to create objects that appear to inhabit the physical environment in which you place them. Using information from ARKit, you can scale objects properly and position them on detected real-world surfaces, reflect environmental lighting conditions and simulate camera grain, cast top-down diffuse object shadows on real-world surfaces, and update visuals as the camera's position changes. To help avoid breaking the illusion you create, make sure your app updates scenes 60 times per second so objects don’t appear to jump or flicker.

放置逼真的物体时力求有说服力的错觉。设计具有逼真纹理的详细 3D 资产,以创建看起来像是栖息在您放置它们的物理环境中的对象。使用来自 ARKit 的信息,您可以正确缩放对象并将它们定位在检测到的真实世界表面上,反映环境照明条件并模拟相机颗粒,在真实世界表面上投射自上而下的漫反射对象阴影,并随着相机位置的变化更新视觉效果.为帮助避免破坏您创建的幻觉,请确保您的应用程序每秒更新场景 60 次,这样对象就不会出现跳跃或闪烁。

Consider how virtual objects with reflective surfaces show the environment. Reflections in ARKit are approximations based on the environment captured by the camera. To help maintain the illusion that an AR experience is real, prefer small or coarse reflective surfaces that downplay the effect of these approximations.

考虑具有反射表面的虚拟对象如何显示环境。 ARKit 中的反射是基于相机捕获的环境的近似值。为了帮助保持 AR 体验是真实的错觉,更喜欢小的或粗糙的反射表面,以淡化这些近似的效果。

Use audio and haptics to enhance the immersive experience. A sound effect or bump sensation is a great way to confirm that a virtual object has made contact with a physical surface or other virtual object. Background music can also help envelop people in the virtual world. For guidance, see Playing audio and Playing haptics.

使用音频和触觉来增强身临其境的体验。声音效果或碰撞感是确认虚拟对象已与物理表面或其他虚拟对象接触的好方法。背景音乐还可以帮助将人们融入虚拟世界。有关指导,请参阅播放音频和播放触觉。

Minimize text in the environment. Display only the information that people need for your app experience.

最小化环境中的文本。仅显示人们需要您的应用体验的信息。

If additional information or controls are necessary, consider displaying them in screen space. Content in screen space appears fixed to a consistent location either in the virtual world or, less commonly, on the device screen. It’s typically easy for people to find and view content in screen space because it remains stationary while the underlying AR environment moves with the device.

如果需要额外的信息或控件,请考虑在屏幕空间中显示它们。屏幕空间中的内容看起来固定在虚拟世界中或设备屏幕上(不太常见)的一致位置。人们通常很容易在屏幕空间中查找和查看内容,因为它保持静止,而底层 AR 环境随设备移动。

Consider using indirect controls when you need to provide persistent controls. Indirect controls are not part of the virtual environment — instead, they are 2D controls displayed in screen space. If people need access to persistent controls in your app, consider placing the controls so that people don’t have to adjust how they're holding the device to reach them. Also, consider using translucency in an indirect control to help avoid blocking the underlying scene. For example, the Measure app uses screen space to display a mix of translucent and opaque controls that people use to measure objects in the real world.

当您需要提供持久控制时,请考虑使用间接控制。间接控件不是虚拟环境的一部分——相反,它们是显示在屏幕空间中的 2D 控件。如果人们需要访问您应用程序中的持久控件,请考虑放置控件,以便人们无需调整他们握住设备的方式即可访问它们。此外,请考虑在间接控件中使用半透明,以帮助避免阻挡底层场景。例如,Measure 应用程序使用屏幕空间来显示人们用来测量现实世界中对象的半透明和不透明控件的组合。

Anticipate that people will use your app in a wide variety of real-world environments. People may open your app in a place where there isn't much room to move around or there aren't any large, flat surfaces. Clearly communicate your app's requirements and expectations to people up front to help them understand how their physical environment can affect their AR experience. You might also consider offering different sets of features for use in different environments.

预计人们将在各种现实环境中使用您的应用程序。人们可能会在没有太多移动空间或没有任何大而平坦的表面的地方打开您的应用程序。清楚地将您的应用程序的要求和期望提前传达给人们,以帮助他们了解他们的物理环境如何影响他们的 AR 体验。您还可以考虑提供不同的功能集以供在不同的环境中使用。

Be mindful of people's comfort. Holding a device at a certain distance or angle for a prolonged period can be fatiguing. To help avoid causing fatigue, consider placing objects at a distance that reduces the need to move the device closer to the object; in a game, consider keeping levels short and intermixed with brief periods of downtime.

注意人们的舒适度。长时间以一定的距离或角度握住设备可能会让人疲劳。为避免造成疲劳,请考虑将物体放置在一定距离以减少将设备移近物体的需要;在游戏中,考虑保持关卡简短,并混入短暂的停机时间。

If your app encourages people to move, introduce motion gradually. For example, you might not want to make people dodge a virtual projectile as soon as they enter your AR game. Give people time to adapt to the AR experience in your app and then progressively encourage movement.

如果您的应用鼓励人们运动,请逐渐引入运动。例如,您可能不希望人们一进入您的 AR 游戏就躲避虚拟射弹。给人们时间来适应您应用中的 AR 体验,然后逐步鼓励移动。

Be mindful of people's safety. When people are immersed in an AR experience, they're not necessarily aware of their physical surroundings, so making rapid, sweeping, or expansive motions might be dangerous. Consider ways of making your app safe to operate; for example, a game could avoid encouraging large or sudden movements.

注意人们的安全。当人们沉浸在 AR 体验中时,他们不一定会意识到周围的物理环境,因此做出快速、扫过或扩张的动作可能很危险。考虑使您的应用程序安全运行的方法;例如,游戏可以避免鼓励大幅度或突然的动作。

Using coaching to get people started 使用教练让人们开始

Before people can enjoy an AR experience in your app, they need to move their device in ways that lets ARKit evaluate the surroundings and detect surfaces. In iOS 13 and later, you can use the built-in coaching view to show people what to do and provide feedback during the initialization process. You can also use the coaching view to help people reinitialize AR — a process known as relocalization — after an AR experience is interrupted by, for example, people switching briefly to a different app. For guidance on relocalization, see Handling interruptions; for developer guidance, see ARCoachingOverlayView.

在人们可以在您的应用程序中享受 AR 体验之前,他们需要以让 ARKit 评估周围环境和检测表面的方式移动他们的设备。在 iOS 13 及更高版本中,您可以使用内置的指导视图向人们展示要做什么并在初始化过程中提供反馈。您还可以使用指导视图帮助人们重新初始化 AR——一个称为重新定位的过程——在 AR 体验被中断后,例如,人们短暂地切换到另一个应用程序。有关重新定位的指南,请参阅处理中断;有关开发人员指南,请参阅 ARCoachingOverlayView 。

Hide unnecessary app UI while people are using a coaching view. By default, the coaching view appears automatically when initialization or relocalization starts, so you should be prepared to hide unrelated UI to help people focus on the coaching view’s instructions.

在人们使用指导视图时隐藏不必要的应用程序 UI。默认情况下,教练视图会在初始化或重新定位开始时自动出现,因此您应该准备好隐藏不相关的 UI 以帮助人们关注教练视图的说明。

If necessary, offer a custom coaching experience. Although you can configure the system-provided coaching view to help people provide specific information — such as the detection of a horizontal or vertical plane — you might need additional information or want to use a different visual style. If you want to design a custom coaching experience, use the system-provided coaching view for reference.

如有必要,提供定制的教练体验。尽管您可以配置系统提供的指导视图来帮助人们提供特定信息——例如检测水平面或垂直面——但您可能需要其他信息或想要使用不同的视觉风格。如果您想设计自定义教练体验,请使用系统提供的教练视图作为参考。

Helping people place objects 帮助人们放置物品

Show people when to locate a surface and place an object. You can use the system-provided coaching view to help people find a horizontal or vertical flat surface on which to place an object. After ARKit detects a surface, your app can display a custom visual indicator to show when object placement is possible. You can help people understand how the placed object will look in the environment by aligning your indicator with the plane of the detected surface.

向人们展示何时定位表面和放置对象。您可以使用系统提供的指导视图来帮助人们找到放置对象的水平或垂直平面。在 ARKit 检测到表面后,您的应用程序可以显示自定义视觉指示器以显示何时可以放置对象。通过将指示器与检测到的表面的平面对齐,您可以帮助人们了解放置的对象在环境中的外观。

App-specific indicator 应用程序特定指标

When people place an object, immediately integrate that object into the AR environment. Although surface detection quickly and progressively refines accuracy, it's best to avoid waiting for more accurate data before placing an object. Use the information available to respond instantly when people place an object; then, when surface detection completes, subtly refine the object's position if necessary. For example, if people place an object beyond the bounds of the detected surface, gently nudge the object back onto the surface. For developer guidance on refining an object's position, see ARTrackedRaycast.

当人们放置一个物体时,立即将该物体集成到 AR 环境中。尽管表面检测可以快速且逐步地提高准确性,但最好避免在放置对象之前等待更准确的数据。当人们放置一个物体时,使用可用的信息立即做出反应;然后,当表面检测完成时,如有必要,巧妙地调整对象的位置。例如,如果人们将物体放置在检测到的表面范围之外,请轻轻地将物体推回到表面上。有关优化对象位置的开发人员指南,请参阅 ARTrackedRaycast 。

Consider guiding people toward offscreen virtual objects. Sometimes, it can be difficult for people to locate an object that’s positioned offscreen. When this is the case, you can help people find such objects by offering visual or audible cues. For example, if an object is offscreen to the left, you could display an indicator along the left edge of the screen that guides people to point the camera in that direction.

考虑引导人们走向屏幕外的虚拟对象。有时,人们可能很难找到位于屏幕外的对象。在这种情况下,您可以通过提供视觉或听觉提示来帮助人们找到此类对象。例如,如果一个对象在屏幕左侧,您可以在屏幕的左边缘显示一个指示器,引导人们将相机指向那个方向。

Avoid trying to precisely align objects with the edges of detected surfaces. In AR, surface boundaries are approximations that may change as people's surroundings are further analyzed.

避免尝试将对象与检测到的表面的边缘精确对齐。在 AR 中,表面边界是近似值,可能会随着人们周围环境的进一步分析而改变。

Incorporate plane classification information to inform object placement. For example, only let people place a virtual piece of furniture on a plane that's classified as “floor,” or require a plane to be classified as “table” in order to place a virtual game board.

合并平面分类信息以通知对象放置。例如,只允许人们在分类为“地板”的平面上放置一件虚拟家具,或者要求分类为“桌子”的平面才能放置虚拟游戏板。

Designing intuitive, delightful object interactions 设计直观、令人愉悦的对象交互

Let people use direct manipulation to interact with objects when possible. It’s more immersive and intuitive when people can interact with onscreen 3D objects by touching them directly, than by using indirect controls in screen space. However, in situations where people are moving around as they use your app, indirect controls can work better.

尽可能让人们使用直接操作与对象交互。当人们可以通过直接触摸屏幕上的 3D 对象而不是在屏幕空间中使用间接控件进行交互时,它会更加身临其境和直观。但是,在人们使用您的应用程序时四处走动的情况下,间接控制可以更好地工作。

Direct manipulation 直接操纵

Indirect controls 间接控制

Let people directly interact with virtual objects using standard, familiar gestures. For example, consider supporting a single-finger drag gesture for moving objects, and a two-finger rotation gesture for spinning objects. For guidance, see Touchscreen gestures.

让人们使用标准、熟悉的手势直接与虚拟对象交互。例如,考虑为移动对象支持单指拖动手势,为旋转对象支持双指旋转手势。有关指导,请参阅触摸屏手势。

In general, keep interactions simple. Touch gestures are inherently two-dimensional, but an AR experience involves the three dimensions of the real world. Consider the following approaches to simplifying user interactions with virtual objects.

通常,保持交互简单。触摸手势本质上是二维的,但 AR 体验涉及现实世界的三个维度。考虑以下方法来简化用户与虚拟对象的交互。

Limit movement to the two-dimensional surface on which the object rests.

将运动限制在物体所在的二维表面上。

Limit object rotation to a single axis.

将对象旋转限制在一个轴上。

Respond to gestures within reasonable proximity of interactive virtual objects. It can be difficult for people to be precise when aiming to touch specific points on objects that are small, thin, or placed at a distance. When your app detects a gesture near an interactive object, it's usually best to assume that people want to affect that object.

在交互式虚拟对象的合理距离内响应手势。人们可能很难准确触摸小、薄或放置在远处的物体上的特定点。当您的应用检测到交互式对象附近的手势时,通常最好假设人们想要影响该对象。

Support user-initiated object scaling when it makes sense in your app. For example, if your app lets people explore an imaginary environment, it probably makes sense to support object scaling because your app doesn’t need to represent the real world. On the other hand, if your app helps shoppers decide on furniture to buy, letting people scale a chair object doesn’t help them visualize how the chair will look in a room.

在您的应用程序中有意义时,支持用户启动的对象缩放。例如,如果您的应用程序允许人们探索一个想象的环境,那么支持对象缩放可能是有意义的,因为您的应用程序不需要代表现实世界。另一方面,如果您的应用程序帮助购物者决定购买家具,那么让人们缩放椅子对象并不能帮助他们想象椅子在房间里的样子。

TIPRegardless of the purpose of your app, don’t use scaling as a way to adjust the distance of an object. If you enlarge a distant object in an effort to make it appear closer, the result is a larger object that still looks far away.

提示无论您的应用程序的用途如何,都不要使用缩放作为调整对象距离的方法。如果你放大一个远处的物体以使其看起来更近,结果是一个更大的物体看起来仍然很远。

Be wary of potentially conflicting gestures. A two-finger pinch gesture, for example, is similar to a two-finger rotation gesture. If you implement two similar gestures like this, be sure to test your app and make sure they're interpreted properly.

警惕潜在的冲突手势。例如,双指捏合手势类似于双指旋转手势。如果您实现两个类似的手势,请务必测试您的应用并确保它们得到正确解释。

Strive for virtual object movement that’s consistent with the physics of your app’s AR environment. People don’t necessarily expect an object to move smoothly over a rough or uneven surface, but they do expect objects to remain visible during movement. Aim to keep moving objects attached to real-world surfaces and avoid causing objects to jump or vanish and reappear as people resize, rotate, or move them.

努力实现与应用程序 AR 环境的物理特性一致的虚拟对象运动。人们不一定期望物体在粗糙或不平坦的表面上平稳移动,但他们确实期望物体在运动过程中保持可见。目的是让移动的物体始终附着在现实世界的表面上,并避免在人们调整大小、旋转或移动物体时物体跳跃或消失并重新出现。

Explore even more engaging methods of interaction. Gestures aren't the only way for people to interact with virtual objects in AR. Your app can use other factors, like motion and proximity, to bring content to life. A game character, for example, could turn its head to look at a person as they walk toward it.

探索更具吸引力的交互方式。手势并不是人们与 AR 中的虚拟对象交互的唯一方式。您的应用程序可以使用其他因素(例如运动和接近度)来使内容栩栩如生。例如,一个游戏角色可以在一个人走向它时转过头来看着它。

Designing a great multiuser experience 设计出色的多用户体验

When multiple people share your app's AR experience, each participant maps the environment independently and ARKit automatically merges the maps. For developer guidance, see isCollaborationEnabled.

当多人共享您应用的 AR 体验时,每个参与者都会独立绘制环境地图,ARKit 会自动合并这些地图。有关开发人员指南,请参阅 isCollaborationEnabled 。

Consider enabling people occlusion. If your app supports placing virtual objects behind people who appear in the device’s camera feed, enhance the illusion of reality by letting the people occlude the objects. For developer guidance, see Occluding virtual content with people.

考虑启用人员遮挡。如果您的应用程序支持将虚拟对象放置在出现在设备摄像头画面中的人物身后,请通过让人物遮挡对象来增强真实感。有关开发人员指南,请参阅将虚拟内容与人隔离开来。

When possible, let new participants enter a multiuser AR experience. Unless your app requires all participants to join before the experience begins, consider using implicit map merging to let new people quickly join an ongoing AR experience. For developer guidance, see isCollaborationEnabled.

如果可能,让新参与者进入多用户 AR 体验。除非您的应用程序要求所有参与者在体验开始前加入,否则请考虑使用隐式地图合并让新人快速加入正在进行的 AR 体验。有关开发人员指南,请参阅 isCollaborationEnabled 。

Reacting to real-world objects 对真实世界的物体做出反应

You can enhance an AR experience by using known images and objects in the real-world environment to trigger the appearance of virtual content. For example, an app that recognizes theater posters for a sci-fi film could cause virtual space ships to emerge from the posters and fly around the environment. Another example is an app for an art museum that presents a virtual tour guide when it recognizes a sculpture. To enable experiences like these, your app provides a set of 2D reference images or 3D reference objects, and ARKit indicates when and where it detects any of these items in the current environment. For developer guidance, see Recognizing images in an AR experience.

您可以通过使用现实世界环境中的已知图像和对象来触发虚拟内容的出现来增强 AR 体验。例如,一款识别科幻电影海报的应用程序可能会导致虚拟太空船从海报中出现并在环境中飞行。另一个例子是一个艺术博物馆的应用程序,当它识别出一个雕塑时会呈现一个虚拟导游。为实现此类体验,您的应用程序提供一组 2D 参考图像或 3D 参考对象,ARKit 指示它在当前环境中何时何地检测到任何这些项目。有关开发人员指南,请参阅在 AR 体验中识别图像。

When a detected image first disappears, consider delaying the removal of virtual objects that are attached to it. ARKit doesn’t track changes to the position or orientation of each detected image. To help prevent virtual objects from flickering, consider waiting up to one second before fading them out or removing them.

当检测到的图像首先消失时,请考虑延迟移除附加到它的虚拟对象。 ARKit 不会跟踪每个检测到的图像的位置或方向的变化。为帮助防止虚拟对象闪烁,请考虑等待最多一秒钟,然后再淡出或移除它们。

Limit the number of reference images in use at one time. Image detection performance works best when ARKit looks for 100 or fewer distinct images in the real-world environment. If you need more than 100 reference images, you can change the set of active reference images based on context. For example, a museum guide app could ask permission to use location services to determine the part of the museum a person is in, and then look only for images displayed in that area.

限制一次使用的参考图像的数量。当 ARKit 在真实环境中寻找 100 个或更少的不同图像时,图像检测性能最佳。如果您需要 100 张以上的参考图像,您可以根据上下文更改活动参考图像集。例如,博物馆指南应用程序可以请求使用定位服务的许可来确定一个人所在的博物馆部分,然后仅查找显示在该区域的图像。

Limit the number of reference images requiring an accurate position. Updating the position of a reference image requires more resources. Use a tracked image when the image may move in the environment or when an attached animation or virtual object is small compared to the size of the image.

限制需要准确位置的参考图像的数量。更新参考图像的位置需要更多资源。当图像可能在环境中移动或者当附加动画或虚拟对象与图像大小相比较小时,使用跟踪图像。

Communicating with people 与人沟通

If you must display instructional text, use approachable terminology. AR is an advanced concept that may be intimidating to some people. To help make it approachable, avoid using technical terms like ARKit, world detection, and tracking. Instead, use friendly, conversational terms that most people will understand.

如果您必须显示说明性文本,请使用平易近人的术语。 AR 是一个先进的概念,可能会让某些人望而生畏。为使它易于理解,请避免使用 ARKit、世界检测和跟踪等技术术语。相反,使用大多数人都能理解的友好、对话式的术语。

Do

Don't

Unable to find a surface. Try moving to the side or repositioning your phone.

无法找到曲面。尝试移到一边或重新放置手机。

Unable to find a plane. Adjust tracking.

找不到飞机。调整跟踪。

Tap a location to place the [name of object to be placed].

点击一个位置以放置[要放置的对象的名称]。

Tap a plane to anchor an object.

点击一个平面来锚定一个对象。

Try turning on more lights and moving around.

尝试打开更多的灯并四处走动。

Insufficient features. 功能不足。

Try moving your phone more slowly.

尝试更慢地移动手机。

Excessive motion detected. 检测到过度运动。

In a three-dimensional context, prefer 3D hints. For example, placing a 3D rotation indicator around an object is more intuitive than displaying text-based instructions in a 2D overlay. Avoid displaying textual overlay hints in a 3D context unless people aren’t responding to contextual hints.

在三维环境中,更喜欢 3D 提示。例如,在对象周围放置 3D 旋转指示器比在 2D 叠加层中显示基于文本的说明更直观。避免在 3D 上下文中显示文本叠加提示,除非人们对上下文提示没有反应。

Prefer a 3D hint in a 3D context.

更喜欢 3D 上下文中的 3D 提示。

If necessary, use a 2D hint in a 3D context.

如有必要,在 3D 上下文中使用 2D 提示。

Make important text readable. Use screen space to display text used for critical labels, annotations, and instructions. If you need to display text in 3D space, make sure the text faces people and that you use the same type size regardless of the distance between the text and the labeled object.

使重要文本可读。使用屏幕空间来显示用于关键标签、注释和说明的文本。如果您需要在 3D 空间中显示文本,请确保文本面向人,并且无论文本与标记对象之间的距离如何,您都使用相同的字号。

If necessary, provide a way to get more information. Design a visual indicator that fits with your app experience to show people that they can tap for more information.

如有必要,请提供获取更多信息的方法。设计适合您的应用程序体验的视觉指示器,向人们展示他们可以点击以获取更多信息。

Handling interruptions 处理中断

ARKit can't track device position and orientation during an interruption, such as when people briefly switch to another app or accept a phone call. After an interruption ends, previously placed virtual objects are likely to appear in the wrong real-world positions. When you enable relocalization, ARKit attempts to restore those virtual objects to their original real-world positions using new information. For developer guidance, see Managing session lifecycle and tracking quality.

ARKit 无法在中断期间跟踪设备位置和方向,例如当人们短暂切换到另一个应用程序或接听电话时。中断结束后,先前放置的虚拟对象很可能出现在错误的现实世界位置。当您启用重新定位时,ARKit 会尝试使用新信息将这些虚拟对象恢复到它们在现实世界中的原始位置。有关开发人员指南,请参阅管理会话生命周期和跟踪质量。

Consider using the system-provided coaching view to help people relocalize. During relocalization, ARKit attempts to reconcile its previous state with new observations of the current environment. To enable these observations, you can use the coaching view to help people return the device to its previous position and orientation.

考虑使用系统提供的指导视图来帮助人们重新定位。在重新定位期间,ARKit 会尝试将其先前的状态与当前环境的新观察结果相协调。要启用这些观察,您可以使用指导视图来帮助人们将设备恢复到之前的位置和方向。

Consider hiding previously placed virtual objects during relocalization. To avoid flickering or other unpleasant visual effects during relocalization, it can be best to hide virtual objects and redisplay them in their new positions.

考虑在重新定位期间隐藏之前放置的虚拟对象。为避免在重新定位期间出现闪烁或其他不愉快的视觉效果,最好隐藏虚拟对象并在新位置重新显示它们。

Minimize interruptions if your app supports both AR and non-AR experiences. One way to avoid interruptions is by embedding a non-AR experience within an AR experience so that people can handle the task without exiting and re-entering AR. For example, if your app helps people decide on a piece of furniture to purchase by placing the item in a room, you might let them change the upholstery without leaving the AR experience.

如果您的应用同时支持 AR 和非 AR 体验,请尽量减少中断。避免中断的一种方法是在 AR 体验中嵌入非 AR 体验,这样人们就可以在不退出和重新进入 AR 的情况下处理任务。例如,如果您的应用程序通过将物品放置在房间中来帮助人们决定购买一件家具,您可以让他们在不离开 AR 体验的情况下更换室内装潢。

Allow people to cancel relocalization. If people don’t position and orient their device near where it was before an interruption, relocalization continues indefinitely without success. If coaching people to resume their session isn’t successful, consider providing a reset button or other way to restart the AR experience.

允许人们取消重新定位。如果人们没有将他们的设备定位和定向在中断前的位置附近,重新定位将无限期地继续下去,但不会成功。如果指导人们恢复会话不成功,请考虑提供重置按钮或其他方式来重新启动 AR 体验。

Indicate when the front-facing camera is unable to track a face for more than about half a second. Use a visual indicator to indicate that the camera can no longer track the person’s face. If you need to provide text instructions in this situation, keep them to a minimum.

指示前置摄像头何时无法跟踪面部超过约半秒。使用视觉指示器指示相机无法再跟踪人脸。如果您需要在这种情况下提供文本说明,请尽量减少它们。

Suggesting ways to resolve problems 建议解决问题的方法

Let people reset the experience if it doesn’t meet their expectations. Don't force people to wait for conditions to improve or struggle with object placement. Give them a way to start over again and see if they have better results.

如果体验不符合他们的期望,让人们重新设置体验。不要强迫人们等待条件改善或与对象放置斗争。给他们一个重新开始的方法,看看他们是否有更好的结果。

Sufficient lighting 充足的照明

Insufficient lighting 照明不足

Suggest possible fixes if problems occur. Analysis of the real-world environment and surface detection can fail or take too long for a variety of reasons — insufficient light, an overly reflective surface, a surface without enough detail, or too much camera motion. If your app is notified of these problems, use straightforward, friendly language to offer suggestions for resolving them.

如果出现问题,建议可能的修复。由于各种原因,现实环境分析和表面检测可能会失败或耗时太长——光线不足、表面反射过度、表面细节不足或相机运动过多。如果您的应用收到这些问题的通知,请使用直接、友好的语言提供解决这些问题的建议。

Problem

Possible suggestion 可能的建议

Insufficient features detected. 检测到的功能不足。

Try turning on more lights and moving around.

尝试打开更多的灯并四处走动。

Excessive motion detected. 检测到过度运动。

Try moving your phone slower. 尝试将手机移动得慢一些。

Surface detection takes too long.

表面检测时间过长。

Try moving around, turning on more lights, and making sure your phone is pointed at a sufficiently textured surface.

试着四处走动,打开更多的灯,并确保你的手机指向一个有足够纹理的表面。

AR icon 增强现实图标

Apps can display an AR icon in controls that launch ARKit-based experiences. You can download this icon in Resources.

应用程序可以在启动基于 ARKit 的体验的控件中显示 AR 图标。您可以在 参考资料 中下载此图标。

Use the AR glyph as intended. The glyph should be used strictly for initiating an ARKit-based experience. Never alter the glyph (other than adjusting its size and color), use it for other purposes, or use it in conjunction with AR experiences not created using ARKit.

按预期使用 AR 字形。字形应严格用于启动基于 ARKit 的体验。切勿更改字形(调整其大小和颜色除外),将其用于其他目的,或将其与不是使用 ARKit 创建的 AR 体验结合使用。

Maintain minimum clear space. The minimum amount of clear space required around an AR glyph is 10% of the glyph's height. Don’t let other elements infringe on this space or occlude the glyph in any way.

保持最小净空间。 AR 字形周围所需的最小净空间量是字形高度的 10%。不要让其他元素侵犯这个空间或以任何方式遮挡字形。

AR badges 增强现实徽章

Apps that include collections of products or other objects can use badging to identify specific items that can be viewed in AR using ARKit. For example, a department store app might use a badge to mark furniture that people can preview in their home before making a purchase.

包含产品或其他对象集合的应用程序可以使用徽章来识别可以使用 ARKit 在 AR 中查看的特定项目。例如,百货商店应用程序可能会使用徽章来标记家具,人们可以在购买前在家中预览。

Use the AR badges as intended and don’t alter them. You can download AR badges, available in collapsed and expanded form, in Resources. Use these images exclusively to identify products or other objects that can be viewed in AR using ARKit. Never alter the badges, change their color, use them for other purposes, or use them in conjunction with AR experiences not created with ARKit.

按预期使用 AR 徽章,不要更改它们。您可以在参考资料中下载 AR 徽章,它们以折叠和展开形式提供。专门使用这些图像来识别可以使用 ARKit 在 AR 中查看的产品或其他对象。切勿更改徽章、更改其颜色、将它们用于其他目的,或将它们与非 ARKit 创建的 AR 体验结合使用。

AR badge 增强现实徽章

Glyph-only AR badge 纯字形 AR 徽章

Prefer the AR badge to the glyph-only badge. In general, use the glyph-only badge for constrained spaces that can't accommodate the AR badge. Both badges work well at their default size.

比起只有字形的徽章,更喜欢 AR 徽章。通常,对于无法容纳 AR 徽章的受限空间,请使用仅字形徽章。两个徽章在默认尺寸下都很好用。

Use badging only when your app contains a mixture of objects that can be viewed in AR and objects that cannot. If all objects in your app can be viewed in AR, then badging is redundant.

仅当您的应用包含可在 AR 中查看的对象和不能在 AR 中查看的对象时,才使用标记。如果你的应用程序中的所有对象都可以在 AR 中查看,那么徽章就是多余的。

Keep badge placement consistent and clear. A badge looks best when displayed in one corner of an object's photo. Always place it in the same corner and make sure it's large enough to be seen clearly (but not so large that it occludes important detail in the photo).

保持徽章位置一致且清晰。徽章显示在对象照片的一角时效果最佳。始终将它放在同一个角落,并确保它足够大以便清晰可见(但不要大到遮挡照片中的重要细节)。

Maintain minimum clear space. The minimum amount of clear space required around an AR badge is 10% of the badge's height. Other elements shouldn't infringe on this space and occlude the badge in any way.

保持最小净空间。 AR 徽章周围所需的最小净空间为徽章高度的 10%。其他元素不应侵犯此空间并以任何方式遮挡徽章。

Resources 资源 Related

Playing haptics 玩触觉

Touchscreen gestures 触摸屏手势

Apple Design Resources 苹果设计资源

Developer documentation 开发人员文档

ARKit



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3